Of particular note is the handling of the State and the Zip fields. When an empty state (or zip) field is entered - either by clicking in it or by tabbing into it, the script calls upon the zip code stack for information.
The zip code stack attempts to find the right state for the city. If it finds one, the user is asked to verify. If multiple states have the same city, the user is asked to select one. If no state can be found the user is asked for one. In the first two cases, a totally different state can be entered.
Whenever a new 'city, state' is made available to the stack, it will ask for a zip code. All three are used to make a new card in the Zip Code stack.
The script will then return to the card in the Friends stack and enter the state into the field
A similar philosophy is used in selecting the zip code.